查看原文
其他

用谷歌的 Flutter 写游戏!它会成为休闲游戏开发者的新宠吗?

风海铜锣 风海铜锣
2024-10-07

⬆️欢迎戳蓝字关注⬆️

此前在移动端的休闲游戏开发框架选择上,开发者一般用这么几套方案:

  1. 跨平台 unity

  2. 跨平台 cocos

  3. 原生方案,如 iOS 的 SpriteKit


现在,我觉得有一个新的选择即将成为开发者们的“一般”选择:Flutter。

就在前几天,谷歌针对 Flutter 游戏工具包进行了一次重大更新,而且在旧金山举办的游戏开发者大会(GDC)上亮相了。

看到谷歌开发者公众号发布的文章,我的第一反应是,Unity 的对手来了吗。

考虑到谷歌这种巨鳄的实力,以及 Flutter 本身良好的基础,所以它如果真的花更多精力投入到游戏引擎的支持上,我觉得要想跟现有的跨平台游戏框架(Unity,Cocos)分庭抗礼是完全有能力的。

但是,我不喜欢人云亦云,既然感兴趣,就直接上官网挖掘文档,体验游戏和尝试构建产品,毕竟第一手体验的报告才是最可靠的。以下是我体验后做的一点小记录,仅供参考。

第一个关注的是跨平台的支持,这部分 Flutter 表现差不到哪,还是六件套:

  1. 移动端的 iOS 和 Android 。

  2. PC 端的 Windows、Mac 和 Linux 。

  3. Web 端。


Flutter 提供了不少游戏模板,如纸牌游戏模板,跑酷游戏模板。对于开发者来说非常便利。

在 Flutter 的官方文档上,刻意区分了休闲游戏领域的回合制类游戏和实时类游戏,普通玩家可能不会特别在意对这种游戏的区分,玩就行了,开发者却会在意,因为这影响了对游戏框架的搭建。例如像纸牌等游戏类型属于回合制,对实时要求不高,可以用 Flutter 的基础框架即可完成,而像跑酷这种实时要求更高的游戏,则建议用基于 Flutter 的框架 Flame Game Engine 来完成。

一些游戏必须的基础组件的支持,也比较到位。如关卡选择、导航、进度条等,包括游戏中心(谷歌的排行榜和苹果的GC)以及广告平台、内购等,都集成的很成熟。总之就是后发制人,把别的游戏引擎做好的功能都搬过来了,还集成的更完善。

鉴于我之前文章的投票里的统计可以得出一个结论,就是开发者对很多不熟悉的东西,很大程度更倾向于做观望党,为了给观望党一些实际案例,这里贴一个基于 Flutter 做的典型游戏案例。下面这个叫 Kelimelik 的游戏:

AppStore 和 GooglePlay 都有上线,现在 GP 有 5M+ 下载量了。

Web 端可以直接参照谷歌的官方web游戏:https://pinball.flutter.dev/#/

接下来说说,为什么我会关注并看好 Flutter 做休闲游戏(注意限定词:休闲)呢,我总结以下几点。

📝 Unity 依然是游戏开发者最佳选择,毕竟底蕴深厚,但同时作为一家盈利压力比较大的中型公司,Unity 未来的发展我感觉充满不确定性,不排除它会做出不利于中小型开发者的决策。而且从休闲小游戏开发的角度来说,Unity 多少有点臃肿了。

📝 Cocos 很好,而且目前商用 Cocos 游戏很多,也很成功,对于做 2D 平面游戏的开发者,Cocos 甚至是比 Unity 更好的选择。但是弊端也不是没有,一个是 Cocos 背后的团队体量太小,未来发展迭代速度不一定能跟得上新需求,第二个是 Cocos 的技术路线比较混乱,虽然这对很多能折腾开发老司机不是问题。

📝 原生框架,例如苹果的 SpriteKit,仅提供了最基础的库支持,高级库的支持很少。虽然原生开发很爽,但是失去了跨平台的便利性,这就不符合大部分开发者的需求了。

📝 Flutter 背靠谷歌这座大山,唯一能搞垮它的就是谷歌自己了,鉴于谷歌经常砍掉自家项目,这也不是不可能。但是谷歌一般砍掉的都是没有商业价值或者越来越小众的产品(例如 Google Reader),随着 Flutter 越来越受欢迎,而且商业价值潜力很大,谷歌放弃的可能性不大,理应会越来越投入。

📝 Flutter 已经有了多年长足的沉淀,应用端用 Flutter 开发的 App 比比皆是,因为 Flutter 的渲染层是通过原生平台的底层做硬件渲染,这就注定了它具备支持高性能游戏的底层能力,支持游戏只要在原先的基础上搭建专用引擎即可。从技术角度来讲,用 Flutter 做游戏不太存在用新框架的风险。这和 SwiftUI 刚诞生时开发者的谨慎观望态度又不一样了。

最后,罗列一些 Flutter 的学习和参考资料,供开发者们体验。

🔗 官方资料:

https://flutter.cn/games 

不用说了,必入。

🔗 Bilibili 的官方 Flutter 游戏中文教程:

https://www.bilibili.com/video/BV12Y4y1z7m9/

程序员小哥还挺帅,口条很好,一口流利而好懂的英语,中文字幕翻译质量好,堪称技术类视频教学中的教科书。

🔗 开源的 Flutter 游戏代码 Hangman:

https://github.com/tavasolireza/Hangman-Game-Flutter


注意了,这个开源项目基于非常宽松的开源协议:MIT license,这意味着开发者是可以使用这个项目的代码去做商用的。(当然了,能不能解决平台合规性问题是另一件事)

🔗 Flutter 游戏开源引擎 Flame:

https://github.com/flame-engine/flame

这是我们吃鸡蛋的那只下蛋老母鸡,一般我们不需要了解这只老母鸡的细节,但是开发者如果对引擎内部细节感兴趣,也可以去扒一扒阅读学习下。

我自己会不会用 Flutter 上架一款游戏呢,我的答案是,未来如果我要上架新的休闲游戏,我会的。而且如果我做了,我想我会再写一篇体验报告。

完。


附:

移动开发者联盟入群指引

提升App内购收益:DingYue.io的全方位解决方案

抄同行玩法,还能把产品干上英国免费总榜第一的游戏公司,从它的案例能参考学习什么


个人观点,仅供参考
修改于
继续滑动看下一个
风海铜锣
向上滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存